Thời kỳ của Tính toán đồng nhất—trong đó một bộ vi xử lý duy nhất đảm nhiệm mọi nhiệm vụ—đã đạt đến giới hạn vật lý. Ngày nay, chúng ta đang sống trong một bối cảnh đa dạng hóa nơi hiệu suất được thúc đẩy bởi một bản giao hưởng của phần cứng chuyên dụng: GPU cho băng thông, FPGA cho logic và DSP cho xử lý tín hiệu.
1. Sự chuyển dịch sang tính đa dạng hóa
Các lợi ích tính toán hiện đại không còn nằm ở việc tăng tốc độ xung nhịp thô, mà nằm ở tích hợp các thiết bị tăng tốc. Một hệ thống đa dạng sử dụng một máy chủ (Host) (thường là một bộ vi xử lý đa nhân) để điều phối các tác vụ qua các thiết bị tính toán, mỗi thiết bị có đặc điểm bộ nhớ và thực thi riêng biệt.
2. Mô hình thiết bị OpenCL
OpenCL (Ngôn ngữ Tính toán Mở) cung cấp một khung thống nhất để quản lý sự đa dạng này. Nó coi mọi thiết bị phần cứng như một thiết bị phân chia thành Đơn vị Tính toán (CU). Qua lớp Lớp nền tảng, các nhà phát triển có thể truy vấn khả năng cụ thể theo thiết bị như tốc độ xung nhịp và kích thước bộ nhớ tại thời điểm chạy, cho phép cùng một đoạn mã thích nghi với nhiều nhà sản xuất khác nhau.
3. Khả năng di động so với Hiệu quả
Trong khi OpenCL cho phép khả năng di động mã nguồn (viết một hạt nhân duy nhất cho tất cả các nhà cung cấp), sức mạnh thực sự của nó nằm ở hiệu quả có thể di chuyển: mang lại cho nhà phát triển khả năng kiểm soát chi tiết cần thiết để tối ưu hóa việc thực thi theo những đặc thù kiến trúc nền tảng độc đáo của từng nền tảng.